// export pak , yas , atak , mechpat , towery , vehpat , pat , fabjest , gatjest , czas , poziom , ilosc , tab ; var i , j ; starting begin ResetFog ;
   0: CALL_OW 335
// RandomizeAll ;
   4: CALL_OW 11
// disable ( 01 ) ;
   8: LD_INT 1
  10: DISABLE_MARKED
// disable ( 04 ) ;
  11: LD_INT 4
  13: DISABLE_MARKED
// disable ( 08 ) ;
  14: LD_INT 8
  16: DISABLE_MARKED
// disable ( 09 ) ;
  17: LD_INT 9
  19: DISABLE_MARKED
// tab := [ ] ;
  20: LD_ADDR_EXP 13
  24: PUSH
  25: EMPTY
  26: ST_TO_ADDR
// uc_side = 3 ;
  27: LD_ADDR_OWVAR 20
  31: PUSH
  32: LD_INT 3
  34: ST_TO_ADDR
// Pak = NewCharacter ( Pak ) ;
  35: LD_ADDR_EXP 1
  39: PUSH
  40: LD_STRING Pak
  42: PPUSH
  43: CALL_OW 25
  47: ST_TO_ADDR
// Yas = NewCharacter ( Yas ) ;
  48: LD_ADDR_EXP 2
  52: PUSH
  53: LD_STRING Yas
  55: PPUSH
  56: CALL_OW 25
  60: ST_TO_ADDR
// PlaceUnitArea ( pak , rus , false ) ;
  61: LD_EXP 1
  65: PPUSH
  66: LD_INT 4
  68: PPUSH
  69: LD_INT 0
  71: PPUSH
  72: CALL_OW 49
// fabjest = false ;
  76: LD_ADDR_EXP 8
  80: PUSH
  81: LD_INT 0
  83: ST_TO_ADDR
// gatjest = true ;
  84: LD_ADDR_EXP 9
  88: PUSH
  89: LD_INT 1
  91: ST_TO_ADDR
// czas = false ;
  92: LD_ADDR_EXP 10
  96: PUSH
  97: LD_INT 0
  99: ST_TO_ADDR
// atak = false ;
 100: LD_ADDR_EXP 3
 104: PUSH
 105: LD_INT 0
 107: ST_TO_ADDR
// poziom = 3 ;
 108: LD_ADDR_EXP 11
 112: PUSH
 113: LD_INT 3
 115: ST_TO_ADDR
// ilosc = 5 ;
 116: LD_ADDR_EXP 12
 120: PUSH
 121: LD_INT 5
 123: ST_TO_ADDR
// wait ( 0 0$0.5 ) ;
 124: LD_INT 18
 126: PPUSH
 127: CALL_OW 67
// CenterNowOnUnits ( pak ) ;
 131: LD_EXP 1
 135: PPUSH
 136: CALL_OW 87
// DialogueOn ;
 140: CALL_OW 6
// Say ( pak , p1 ) ;
 144: LD_EXP 1
 148: PPUSH
 149: LD_STRING p1
 151: PPUSH
 152: CALL_OW 88
// SayRadio ( yas , y1 ) ;
 156: LD_EXP 2
 160: PPUSH
 161: LD_STRING y1
 163: PPUSH
 164: CALL_OW 94
// Say ( pak , p2 ) ;
 168: LD_EXP 1
 172: PPUSH
 173: LD_STRING p2
 175: PPUSH
 176: CALL_OW 88
// SayRadio ( yas , y2 ) ;
 180: LD_EXP 2
 184: PPUSH
 185: LD_STRING y2
 187: PPUSH
 188: CALL_OW 94
// DialogueOff ;
 192: CALL_OW 7
// wait ( 1 1$0 ) ;
 196: LD_INT 2100
 198: PPUSH
 199: CALL_OW 67
// DialogueOn ;
 203: CALL_OW 6
// if gatjest = true then
 207: LD_EXP 9
 211: PUSH
 212: LD_INT 1
 214: EQUAL
 215: IFFALSE 276
// begin Say ( pak , p3a ) ;
 217: LD_EXP 1
 221: PPUSH
 222: LD_STRING p3a
 224: PPUSH
 225: CALL_OW 88
// SayRadio ( yas , y3a ) ;
 229: LD_EXP 2
 233: PPUSH
 234: LD_STRING y3a
 236: PPUSH
 237: CALL_OW 94
// Say ( pak , p4a ) ;
 241: LD_EXP 1
 245: PPUSH
 246: LD_STRING p4a
 248: PPUSH
 249: CALL_OW 88
// DialogueOff ;
 253: CALL_OW 7
// ChangeMissionObjectives ( Cel ) ;
 257: LD_STRING Cel
 259: PPUSH
 260: CALL_OW 337
// RevealFogArea ( 3 , fabarea ) ;
 264: LD_INT 3
 266: PPUSH
 267: LD_INT 11
 269: PPUSH
 270: CALL_OW 332
// end else
 274: GO 333
// begin Say ( pak , p3b ) ;
 276: LD_EXP 1
 280: PPUSH
 281: LD_STRING p3b
 283: PPUSH
 284: CALL_OW 88
// SayRadio ( yas , y3b ) ;
 288: LD_EXP 2
 292: PPUSH
 293: LD_STRING y3b
 295: PPUSH
 296: CALL_OW 94
// Say ( pak , p4b ) ;
 300: LD_EXP 1
 304: PPUSH
 305: LD_STRING p4b
 307: PPUSH
 308: CALL_OW 88
// DialogueOff ;
 312: CALL_OW 7
// ChangeMissionObjectives ( Cel ) ;
 316: LD_STRING Cel
 318: PPUSH
 319: CALL_OW 337
// RevealFogArea ( 3 , fabarea ) ;
 323: LD_INT 3
 325: PPUSH
 326: LD_INT 11
 328: PPUSH
 329: CALL_OW 332
// end ; end ;
 333: END
// export function budpatrolu ; var i ; begin
 334: LD_INT 0
 336: PPUSH
 337: PPUSH
// for i = 1 to 3 do
 338: LD_ADDR_VAR 0 2
 342: PUSH
 343: DOUBLE
 344: LD_INT 1
 346: DEC
 347: ST_TO_ADDR
 348: LD_INT 3
 350: PUSH
 351: FOR_TO
 352: IFFALSE 453
// begin uc_side = 1 ;
 354: LD_ADDR_OWVAR 20
 358: PUSH
 359: LD_INT 1
 361: ST_TO_ADDR
// uc_nation = 1 ;
 362: LD_ADDR_OWVAR 21
 366: PUSH
 367: LD_INT 1
 369: ST_TO_ADDR
// vc_control = 2 ;
 370: LD_ADDR_OWVAR 38
 374: PUSH
 375: LD_INT 2
 377: ST_TO_ADDR
// vc_engine = 1 ;
 378: LD_ADDR_OWVAR 39
 382: PUSH
 383: LD_INT 1
 385: ST_TO_ADDR
// vc_chassis = 2 ;
 386: LD_ADDR_OWVAR 37
 390: PUSH
 391: LD_INT 2
 393: ST_TO_ADDR
// vc_weapon = Rand ( 3 , 4 ) ;
 394: LD_ADDR_OWVAR 40
 398: PUSH
 399: LD_INT 3
 401: PPUSH
 402: LD_INT 4
 404: PPUSH
 405: CALL_OW 12
 409: ST_TO_ADDR
// vehpat = CreateVehicle ;
 410: LD_ADDR_EXP 6
 414: PUSH
 415: CALL_OW 45
 419: ST_TO_ADDR
// PlaceUnitArea ( vehpat , am , false ) ;
 420: LD_EXP 6
 424: PPUSH
 425: LD_INT 1
 427: PPUSH
 428: LD_INT 0
 430: PPUSH
 431: CALL_OW 49
// tab := tab ^ vehpat ;
 435: LD_ADDR_EXP 13
 439: PUSH
 440: LD_EXP 13
 444: PUSH
 445: LD_EXP 6
 449: ADD
 450: ST_TO_ADDR
// end end ;
 451: GO 351
 453: POP
 454: POP
 455: LD_VAR 0 1
 459: RET
// export function budposilkow ; var i ; begin
 460: LD_INT 0
 462: PPUSH
 463: PPUSH
// for i = 1 to ilosc do
 464: LD_ADDR_VAR 0 2
 468: PUSH
 469: DOUBLE
 470: LD_INT 1
 472: DEC
 473: ST_TO_ADDR
 474: LD_EXP 12
 478: PUSH
 479: FOR_TO
 480: IFFALSE 581
// begin uc_side = 1 ;
 482: LD_ADDR_OWVAR 20
 486: PUSH
 487: LD_INT 1
 489: ST_TO_ADDR
// uc_nation = 1 ;
 490: LD_ADDR_OWVAR 21
 494: PUSH
 495: LD_INT 1
 497: ST_TO_ADDR
// vc_control = 2 ;
 498: LD_ADDR_OWVAR 38
 502: PUSH
 503: LD_INT 2
 505: ST_TO_ADDR
// vc_engine = 1 ;
 506: LD_ADDR_OWVAR 39
 510: PUSH
 511: LD_INT 1
 513: ST_TO_ADDR
// vc_chassis = 2 ;
 514: LD_ADDR_OWVAR 37
 518: PUSH
 519: LD_INT 2
 521: ST_TO_ADDR
// vc_weapon = Rand ( 3 , 4 ) ;
 522: LD_ADDR_OWVAR 40
 526: PUSH
 527: LD_INT 3
 529: PPUSH
 530: LD_INT 4
 532: PPUSH
 533: CALL_OW 12
 537: ST_TO_ADDR
// vehpat = CreateVehicle ;
 538: LD_ADDR_EXP 6
 542: PUSH
 543: CALL_OW 45
 547: ST_TO_ADDR
// PlaceUnitArea ( vehpat , am2 , false ) ;
 548: LD_EXP 6
 552: PPUSH
 553: LD_INT 7
 555: PPUSH
 556: LD_INT 0
 558: PPUSH
 559: CALL_OW 49
// tab := tab ^ vehpat ;
 563: LD_ADDR_EXP 13
 567: PUSH
 568: LD_EXP 13
 572: PUSH
 573: LD_EXP 6
 577: ADD
 578: ST_TO_ADDR
// end ;
 579: GO 479
 581: POP
 582: POP
// end ;
 583: LD_VAR 0 1
 587: RET
// export function patrol ; begin
 588: LD_INT 0
 590: PPUSH
// wait ( 0 0$2 ) ;
 591: LD_INT 70
 593: PPUSH
 594: CALL_OW 67
// pat := FilterAllUnits ( [ [ f_side , 1 ] , [ f_type , unit_vehicle ] ] ) ;
 598: LD_ADDR_EXP 7
 602: PUSH
 603: LD_INT 22
 605: PUSH
 606: LD_INT 1
 608: PUSH
 609: EMPTY
 610: LIST
 611: LIST
 612: PUSH
 613: LD_INT 21
 615: PUSH
 616: LD_INT 2
 618: PUSH
 619: EMPTY
 620: LIST
 621: LIST
 622: PUSH
 623: EMPTY
 624: LIST
 625: LIST
 626: PPUSH
 627: CALL_OW 69
 631: ST_TO_ADDR
// ComAgressiveMove ( pat , 91 , 25 ) ;
 632: LD_EXP 7
 636: PPUSH
 637: LD_INT 91
 639: PPUSH
 640: LD_INT 25
 642: PPUSH
 643: CALL_OW 114
// end ;
 647: LD_VAR 0 1
 651: RET
// every 1 1$30 do
 652: GO 654
 654: DISABLE
// begin enable ;
 655: ENABLE
// CreateCratesArea ( Rand ( 3 , 5 ) , skrzynkia , true ) ;
 656: LD_INT 3
 658: PPUSH
 659: LD_INT 5
 661: PPUSH
 662: CALL_OW 12
 666: PPUSH
 667: LD_INT 8
 669: PPUSH
 670: LD_INT 1
 672: PPUSH
 673: CALL_OW 55
// end ;
 677: END
// every 0 0$05 marked 08 do
 678: GO 680
 680: DISABLE
// begin wait ( 10 10$0 ) ;
 681: LD_INT 21000
 683: PPUSH
 684: CALL_OW 67
// for i = 1 to 8 do
 688: LD_ADDR_LOC 1
 692: PUSH
 693: DOUBLE
 694: LD_INT 1
 696: DEC
 697: ST_TO_ADDR
 698: LD_INT 8
 700: PUSH
 701: FOR_TO
 702: IFFALSE 866
// begin uc_side = 1 ;
 704: LD_ADDR_OWVAR 20
 708: PUSH
 709: LD_INT 1
 711: ST_TO_ADDR
// uc_nation = 1 ;
 712: LD_ADDR_OWVAR 21
 716: PUSH
 717: LD_INT 1
 719: ST_TO_ADDR
// hc_skills = [ 2 , 0 , 5 , 0 ] ;
 720: LD_ADDR_OWVAR 31
 724: PUSH
 725: LD_INT 2
 727: PUSH
 728: LD_INT 0
 730: PUSH
 731: LD_INT 5
 733: PUSH
 734: LD_INT 0
 736: PUSH
 737: EMPTY
 738: LIST
 739: LIST
 740: LIST
 741: LIST
 742: ST_TO_ADDR
// hc_class = 3 ;
 743: LD_ADDR_OWVAR 28
 747: PUSH
 748: LD_INT 3
 750: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
 751: LD_ADDR_OWVAR 27
 755: PUSH
 756: LD_INT 1
 758: PPUSH
 759: LD_INT 2
 761: PPUSH
 762: CALL_OW 12
 766: ST_TO_ADDR
// mechpat = CreateHuman ;
 767: LD_ADDR_EXP 4
 771: PUSH
 772: CALL_OW 44
 776: ST_TO_ADDR
// vc_control = 1 ;
 777: LD_ADDR_OWVAR 38
 781: PUSH
 782: LD_INT 1
 784: ST_TO_ADDR
// vc_engine = 1 ;
 785: LD_ADDR_OWVAR 39
 789: PUSH
 790: LD_INT 1
 792: ST_TO_ADDR
// vc_chassis = 4 ;
 793: LD_ADDR_OWVAR 37
 797: PUSH
 798: LD_INT 4
 800: ST_TO_ADDR
// vc_weapon = 3 ;
 801: LD_ADDR_OWVAR 40
 805: PUSH
 806: LD_INT 3
 808: ST_TO_ADDR
// vehpat = CreateVehicle ;
 809: LD_ADDR_EXP 6
 813: PUSH
 814: CALL_OW 45
 818: ST_TO_ADDR
// PlaceUnitArea ( vehpat , am3 , false ) ;
 819: LD_EXP 6
 823: PPUSH
 824: LD_INT 10
 826: PPUSH
 827: LD_INT 0
 829: PPUSH
 830: CALL_OW 49
// PlaceHumanInUnit ( mechpat , vehpat ) ;
 834: LD_EXP 4
 838: PPUSH
 839: LD_EXP 6
 843: PPUSH
 844: CALL_OW 52
// tab := tab ^ vehpat ;
 848: LD_ADDR_EXP 13
 852: PUSH
 853: LD_EXP 13
 857: PUSH
 858: LD_EXP 6
 862: ADD
 863: ST_TO_ADDR
// end ;
 864: GO 701
 866: POP
 867: POP
// end ; end_of_file
 868: END
// export jankes , jankes4 , mech , mechtower , doc , eng , eng4 , rulab , zbroja , tower ; var i , bun , baza4 ; every 0 0$01 do
 869: GO 871
 871: DISABLE
// begin bun := FilterAllUnits ( [ [ f_side , 1 ] , [ f_or , [ f_btype , b_bunker ] , [ f_btype , b_breastwork ] ] ] ) ;
 872: LD_ADDR_LOC 4
 876: PUSH
 877: LD_INT 22
 879: PUSH
 880: LD_INT 1
 882: PUSH
 883: EMPTY
 884: LIST
 885: LIST
 886: PUSH
 887: LD_INT 2
 889: PUSH
 890: LD_INT 30
 892: PUSH
 893: LD_INT 32
 895: PUSH
 896: EMPTY
 897: LIST
 898: LIST
 899: PUSH
 900: LD_INT 30
 902: PUSH
 903: LD_INT 31
 905: PUSH
 906: EMPTY
 907: LIST
 908: LIST
 909: PUSH
 910: EMPTY
 911: LIST
 912: LIST
 913: LIST
 914: PUSH
 915: EMPTY
 916: LIST
 917: LIST
 918: PPUSH
 919: CALL_OW 69
 923: ST_TO_ADDR
// for i = 1 to bun do
 924: LD_ADDR_LOC 3
 928: PUSH
 929: DOUBLE
 930: LD_INT 1
 932: DEC
 933: ST_TO_ADDR
 934: LD_LOC 4
 938: PUSH
 939: FOR_TO
 940: IFFALSE 1073
// if IsInUnit ( bun [ i ] ) = 0 then
 942: LD_LOC 4
 946: PUSH
 947: LD_LOC 3
 951: ARRAY
 952: PPUSH
 953: CALL_OW 310
 957: PUSH
 958: LD_INT 0
 960: EQUAL
 961: IFFALSE 1071
// begin hc_class = 1 ;
 963: LD_ADDR_OWVAR 28
 967: PUSH
 968: LD_INT 1
 970: ST_TO_ADDR
// uc_side = 1 ;
 971: LD_ADDR_OWVAR 20
 975: PUSH
 976: LD_INT 1
 978: ST_TO_ADDR
// uc_nation = 1 ;
 979: LD_ADDR_OWVAR 21
 983: PUSH
 984: LD_INT 1
 986: ST_TO_ADDR
// hc_skills = [ 5 , 2 , 2 , 1 ] ;
 987: LD_ADDR_OWVAR 31
 991: PUSH
 992: LD_INT 5
 994: PUSH
 995: LD_INT 2
 997: PUSH
 998: LD_INT 2
1000: PUSH
1001: LD_INT 1
1003: PUSH
1004: EMPTY
1005: LIST
1006: LIST
1007: LIST
1008: LIST
1009: ST_TO_ADDR
// hc_sex = Rand ( 1 , 2 ) ;
1010: LD_ADDR_OWVAR 27
1014: PUSH
1015: LD_INT 1
1017: PPUSH
1018: LD_INT 2
1020: PPUSH
1021: CALL_OW 12
1025: ST_TO_ADDR
// jankes = CreateHuman ;
1026: LD_ADDR_EXP 14
1030: PUSH
1031: CALL_OW 44
1035: ST_TO_ADDR
// PlaceUnitArea ( jankes , gammaa , false ) ;
1036: LD_EXP 14
1040: PPUSH
1041: LD_INT 3
1043: PPUSH
1044: LD_INT 0
1046: PPUSH
1047: CALL_OW 49
// ComEnterUnit ( jankes , bun [ i ] ) ;
1051: LD_EXP 14
1055: PPUSH
1056: LD_LOC 4
1060: PUSH
1061: LD_LOC 3
1065: ARRAY
1066: PPUSH
1067: CALL_OW 120
// end ;
1071: GO 939
1073: POP
1074: POP
// end ;
1075: END
// every 0 0$01 do
1076: GO 1078
1078: DISABLE
// begin bun := FilterAllUnits ( [ [ f_btype , b_breastwork ] , [ f_side , 4 ] ] ) ;
1079: LD_ADDR_LOC 4
1083: PUSH
1084: LD_INT 30
1086: PUSH
1087: LD_INT 31
1089: PUSH
1090: EMPTY
1091: LIST
1092: LIST
1093: PUSH
1094: LD_INT 22
1096: PUSH
1097: LD_INT 4
1099: PUSH
1100: EMPTY
1101: LIST
1102: LIST
1103: PUSH
1104: EMPTY
1105: LIST
1106: LIST
1107: PPUSH
1108: CALL_OW 69
1112: ST_TO_ADDR
// for i = 1 to bun do
1113: LD_ADDR_LOC 3
1117: PUSH
1118: DOUBLE
1119: LD_INT 1
1121: DEC
1122: ST_TO_ADDR
1123: LD_LOC 4
1127: PUSH
1128: FOR_TO
1129: IFFALSE 1262
// if IsInUnit ( bun [ i ] ) = 0 then
1131: LD_LOC 4
1135: PUSH
1136: LD_LOC 3
1140: ARRAY
1141: PPUSH
1142: CALL_OW 310
1146: PUSH
1147: LD_INT 0
1149: EQUAL
1150: IFFALSE 1260
// begin hc_class = 1 ;
1152: LD_ADDR_OWVAR 28
1156: PUSH
1157: LD_INT 1
1159: ST_TO_ADDR
// uc_side = 4 ;
1160: LD_ADDR_OWVAR 20
1164: PUSH
1165: LD_INT 4
1167: ST_TO_ADDR
// uc_nation = 1 ;
1168: LD_ADDR_OWVAR 21
1172: PUSH
1173: LD_INT 1
1175: ST_TO_ADDR
// hc_skills = [ 4 , 2 , 2 , 1 ] ;
1176: LD_ADDR_OWVAR 31
1180: PUSH
1181: LD_INT 4
1183: PUSH
1184: LD_INT 2
1186: PUSH
1187: LD_INT 2
1189: PUSH
1190: LD_INT 1
1192: PUSH
1193: EMPTY
1194: LIST
1195: LIST
1196: LIST
1197: LIST
1198: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
1199: LD_ADDR_OWVAR 27
1203: PUSH
1204: LD_INT 1
1206: PPUSH
1207: LD_INT 2
1209: PPUSH
1210: CALL_OW 12
1214: ST_TO_ADDR
// jankes = CreateHuman ;
1215: LD_ADDR_EXP 14
1219: PUSH
1220: CALL_OW 44
1224: ST_TO_ADDR
// PlaceUnitArea ( jankes , baza , false ) ;
1225: LD_EXP 14
1229: PPUSH
1230: LD_INT 2
1232: PPUSH
1233: LD_INT 0
1235: PPUSH
1236: CALL_OW 49
// ComEnterUnit ( jankes , bun [ i ] ) ;
1240: LD_EXP 14
1244: PPUSH
1245: LD_LOC 4
1249: PUSH
1250: LD_LOC 3
1254: ARRAY
1255: PPUSH
1256: CALL_OW 120
// end ;
1260: GO 1128
1262: POP
1263: POP
// end ;
1264: END
// every 0 0$01 do
1265: GO 1267
1267: DISABLE
// begin for i = 1 to 3 do
1268: LD_ADDR_LOC 3
1272: PUSH
1273: DOUBLE
1274: LD_INT 1
1276: DEC
1277: ST_TO_ADDR
1278: LD_INT 3
1280: PUSH
1281: FOR_TO
1282: IFFALSE 1411
// begin zbroja := FilterAllUnits ( [ [ f_btype , b_armoury ] , [ f_side , 1 ] ] ) [ 1 ] ;
1284: LD_ADDR_EXP 22
1288: PUSH
1289: LD_INT 30
1291: PUSH
1292: LD_INT 4
1294: PUSH
1295: EMPTY
1296: LIST
1297: LIST
1298: PUSH
1299: LD_INT 22
1301: PUSH
1302: LD_INT 1
1304: PUSH
1305: EMPTY
1306: LIST
1307: LIST
1308: PUSH
1309: EMPTY
1310: LIST
1311: LIST
1312: PPUSH
1313: CALL_OW 69
1317: PUSH
1318: LD_INT 1
1320: ARRAY
1321: ST_TO_ADDR
// hc_class = 1 ;
1322: LD_ADDR_OWVAR 28
1326: PUSH
1327: LD_INT 1
1329: ST_TO_ADDR
// uc_side = 1 ;
1330: LD_ADDR_OWVAR 20
1334: PUSH
1335: LD_INT 1
1337: ST_TO_ADDR
// uc_nation = 1 ;
1338: LD_ADDR_OWVAR 21
1342: PUSH
1343: LD_INT 1
1345: ST_TO_ADDR
// hc_skills = [ 4 , 2 , 2 , 1 ] ;
1346: LD_ADDR_OWVAR 31
1350: PUSH
1351: LD_INT 4
1353: PUSH
1354: LD_INT 2
1356: PUSH
1357: LD_INT 2
1359: PUSH
1360: LD_INT 1
1362: PUSH
1363: EMPTY
1364: LIST
1365: LIST
1366: LIST
1367: LIST
1368: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
1369: LD_ADDR_OWVAR 27
1373: PUSH
1374: LD_INT 1
1376: PPUSH
1377: LD_INT 2
1379: PPUSH
1380: CALL_OW 12
1384: ST_TO_ADDR
// jankes = CreateHuman ;
1385: LD_ADDR_EXP 14
1389: PUSH
1390: CALL_OW 44
1394: ST_TO_ADDR
// PlaceHumanInUnit ( jankes , zbroja ) ;
1395: LD_EXP 14
1399: PPUSH
1400: LD_EXP 22
1404: PPUSH
1405: CALL_OW 52
// end ;
1409: GO 1281
1411: POP
1412: POP
// end ;
1413: END
// every 0 0$01 do
1414: GO 1416
1416: DISABLE
// begin for i = 1 to 2 do
1417: LD_ADDR_LOC 3
1421: PUSH
1422: DOUBLE
1423: LD_INT 1
1425: DEC
1426: ST_TO_ADDR
1427: LD_INT 2
1429: PUSH
1430: FOR_TO
1431: IFFALSE 1543
// begin hc_class = 3 ;
1433: LD_ADDR_OWVAR 28
1437: PUSH
1438: LD_INT 3
1440: ST_TO_ADDR
// uc_side = 1 ;
1441: LD_ADDR_OWVAR 20
1445: PUSH
1446: LD_INT 1
1448: ST_TO_ADDR
// uc_nation = 1 ;
1449: LD_ADDR_OWVAR 21
1453: PUSH
1454: LD_INT 1
1456: ST_TO_ADDR
// hc_skills = [ 2 , 1 , Rand ( 3 , 5 ) , 1 ] ;
1457: LD_ADDR_OWVAR 31
1461: PUSH
1462: LD_INT 2
1464: PUSH
1465: LD_INT 1
1467: PUSH
1468: LD_INT 3
1470: PPUSH
1471: LD_INT 5
1473: PPUSH
1474: CALL_OW 12
1478: PUSH
1479: LD_INT 1
1481: PUSH
1482: EMPTY
1483: LIST
1484: LIST
1485: LIST
1486: LIST
1487: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
1488: LD_ADDR_OWVAR 27
1492: PUSH
1493: LD_INT 1
1495: PPUSH
1496: LD_INT 2
1498: PPUSH
1499: CALL_OW 12
1503: ST_TO_ADDR
// mech = CreateHuman ;
1504: LD_ADDR_EXP 16
1508: PUSH
1509: CALL_OW 44
1513: ST_TO_ADDR
// PlaceUnitArea ( mech , gammaa , false ) ;
1514: LD_EXP 16
1518: PPUSH
1519: LD_INT 3
1521: PPUSH
1522: LD_INT 0
1524: PPUSH
1525: CALL_OW 49
// ComEnterUnit ( mech , fab ) ;
1529: LD_EXP 16
1533: PPUSH
1534: LD_INT 3
1536: PPUSH
1537: CALL_OW 120
// end ;
1541: GO 1430
1543: POP
1544: POP
// end ;
1545: END
// every 0 0$01 do
1546: GO 1548
1548: DISABLE
// begin for i = 1 to 3 do
1549: LD_ADDR_LOC 3
1553: PUSH
1554: DOUBLE
1555: LD_INT 1
1557: DEC
1558: ST_TO_ADDR
1559: LD_INT 3
1561: PUSH
1562: FOR_TO
1563: IFFALSE 1707
// begin hc_class = 3 ;
1565: LD_ADDR_OWVAR 28
1569: PUSH
1570: LD_INT 3
1572: ST_TO_ADDR
// uc_side = 1 ;
1573: LD_ADDR_OWVAR 20
1577: PUSH
1578: LD_INT 1
1580: ST_TO_ADDR
// uc_nation = 1 ;
1581: LD_ADDR_OWVAR 21
1585: PUSH
1586: LD_INT 1
1588: ST_TO_ADDR
// hc_skills = [ 2 , 1 , 6 , 1 ] ;
1589: LD_ADDR_OWVAR 31
1593: PUSH
1594: LD_INT 2
1596: PUSH
1597: LD_INT 1
1599: PUSH
1600: LD_INT 6
1602: PUSH
1603: LD_INT 1
1605: PUSH
1606: EMPTY
1607: LIST
1608: LIST
1609: LIST
1610: LIST
1611: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
1612: LD_ADDR_OWVAR 27
1616: PUSH
1617: LD_INT 1
1619: PPUSH
1620: LD_INT 2
1622: PPUSH
1623: CALL_OW 12
1627: ST_TO_ADDR
// mechtower = CreateHuman ;
1628: LD_ADDR_EXP 17
1632: PUSH
1633: CALL_OW 44
1637: ST_TO_ADDR
// PlaceUnitArea ( mechtower , gammaa , false ) ;
1638: LD_EXP 17
1642: PPUSH
1643: LD_INT 3
1645: PPUSH
1646: LD_INT 0
1648: PPUSH
1649: CALL_OW 49
// tower := FilterAllUnits ( [ [ f_side , 1 ] , [ f_btype , b_control_tower ] ] ) [ 1 ] ;
1653: LD_ADDR_EXP 23
1657: PUSH
1658: LD_INT 22
1660: PUSH
1661: LD_INT 1
1663: PUSH
1664: EMPTY
1665: LIST
1666: LIST
1667: PUSH
1668: LD_INT 30
1670: PUSH
1671: LD_INT 36
1673: PUSH
1674: EMPTY
1675: LIST
1676: LIST
1677: PUSH
1678: EMPTY
1679: LIST
1680: LIST
1681: PPUSH
1682: CALL_OW 69
1686: PUSH
1687: LD_INT 1
1689: ARRAY
1690: ST_TO_ADDR
// ComEnterUnit ( mechtower , tower ) ;
1691: LD_EXP 17
1695: PPUSH
1696: LD_EXP 23
1700: PPUSH
1701: CALL_OW 120
// end ;
1705: GO 1562
1707: POP
1708: POP
// end ;
1709: END
// every 0 0$01 do
1710: GO 1712
1712: DISABLE
// begin for i = 1 to 2 do
1713: LD_ADDR_LOC 3
1717: PUSH
1718: DOUBLE
1719: LD_INT 1
1721: DEC
1722: ST_TO_ADDR
1723: LD_INT 2
1725: PUSH
1726: FOR_TO
1727: IFFALSE 1847
// begin hc_class = 4 ;
1729: LD_ADDR_OWVAR 28
1733: PUSH
1734: LD_INT 4
1736: ST_TO_ADDR
// uc_side = 1 ;
1737: LD_ADDR_OWVAR 20
1741: PUSH
1742: LD_INT 1
1744: ST_TO_ADDR
// uc_nation = 1 ;
1745: LD_ADDR_OWVAR 21
1749: PUSH
1750: LD_INT 1
1752: ST_TO_ADDR
// hc_skills = [ 0 , Rand ( 0 , 2 ) , 1 , Rand ( 0 , 2 ) ] ;
1753: LD_ADDR_OWVAR 31
1757: PUSH
1758: LD_INT 0
1760: PUSH
1761: LD_INT 0
1763: PPUSH
1764: LD_INT 2
1766: PPUSH
1767: CALL_OW 12
1771: PUSH
1772: LD_INT 1
1774: PUSH
1775: LD_INT 0
1777: PPUSH
1778: LD_INT 2
1780: PPUSH
1781: CALL_OW 12
1785: PUSH
1786: EMPTY
1787: LIST
1788: LIST
1789: LIST
1790: LIST
1791: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
1792: LD_ADDR_OWVAR 27
1796: PUSH
1797: LD_INT 1
1799: PPUSH
1800: LD_INT 2
1802: PPUSH
1803: CALL_OW 12
1807: ST_TO_ADDR
// doc = CreateHuman ;
1808: LD_ADDR_EXP 18
1812: PUSH
1813: CALL_OW 44
1817: ST_TO_ADDR
// PlaceUnitArea ( doc , gammaa , false ) ;
1818: LD_EXP 18
1822: PPUSH
1823: LD_INT 3
1825: PPUSH
1826: LD_INT 0
1828: PPUSH
1829: CALL_OW 49
// ComEnterUnit ( doc , lab ) ;
1833: LD_EXP 18
1837: PPUSH
1838: LD_INT 4
1840: PPUSH
1841: CALL_OW 120
// end ;
1845: GO 1726
1847: POP
1848: POP
// end ;
1849: END
// every 0 0$01 do
1850: GO 1852
1852: DISABLE
// begin hc_class = 2 ;
1853: LD_ADDR_OWVAR 28
1857: PUSH
1858: LD_INT 2
1860: ST_TO_ADDR
// uc_side = 1 ;
1861: LD_ADDR_OWVAR 20
1865: PUSH
1866: LD_INT 1
1868: ST_TO_ADDR
// uc_nation = 1 ;
1869: LD_ADDR_OWVAR 21
1873: PUSH
1874: LD_INT 1
1876: ST_TO_ADDR
// hc_skills = [ 2 , Rand ( 3 , 5 ) , 2 , 1 ] ;
1877: LD_ADDR_OWVAR 31
1881: PUSH
1882: LD_INT 2
1884: PUSH
1885: LD_INT 3
1887: PPUSH
1888: LD_INT 5
1890: PPUSH
1891: CALL_OW 12
1895: PUSH
1896: LD_INT 2
1898: PUSH
1899: LD_INT 1
1901: PUSH
1902: EMPTY
1903: LIST
1904: LIST
1905: LIST
1906: LIST
1907: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
1908: LD_ADDR_OWVAR 27
1912: PUSH
1913: LD_INT 1
1915: PPUSH
1916: LD_INT 2
1918: PPUSH
1919: CALL_OW 12
1923: ST_TO_ADDR
// eng = CreateHuman ;
1924: LD_ADDR_EXP 19
1928: PUSH
1929: CALL_OW 44
1933: ST_TO_ADDR
// PlaceUnitArea ( eng , gammaa , false ) ;
1934: LD_EXP 19
1938: PPUSH
1939: LD_INT 3
1941: PPUSH
1942: LD_INT 0
1944: PPUSH
1945: CALL_OW 49
// ComEnterUnit ( eng , bgamma ) ;
1949: LD_EXP 19
1953: PPUSH
1954: LD_INT 1
1956: PPUSH
1957: CALL_OW 120
// SetBName ( bgamma , Gamma ) ;
1961: LD_INT 1
1963: PPUSH
1964: LD_STRING Gamma
1966: PPUSH
1967: CALL_OW 500
// uc_side = 4 ;
1971: LD_ADDR_OWVAR 20
1975: PUSH
1976: LD_INT 4
1978: ST_TO_ADDR
// hc_skills = [ 2 , 1 , 2 , 1 ] ;
1979: LD_ADDR_OWVAR 31
1983: PUSH
1984: LD_INT 2
1986: PUSH
1987: LD_INT 1
1989: PUSH
1990: LD_INT 2
1992: PUSH
1993: LD_INT 1
1995: PUSH
1996: EMPTY
1997: LIST
1998: LIST
1999: LIST
2000: LIST
2001: ST_TO_ADDR
// eng4 = CreateHuman ;
2002: LD_ADDR_EXP 20
2006: PUSH
2007: CALL_OW 44
2011: ST_TO_ADDR
// PlaceUnitArea ( eng4 , baza , false ) ;
2012: LD_EXP 20
2016: PPUSH
2017: LD_INT 2
2019: PPUSH
2020: LD_INT 0
2022: PPUSH
2023: CALL_OW 49
// baza4 := FilterAllUnits ( [ [ f_side , 4 ] , [ f_btype , b_depot ] ] ) [ 1 ] ;
2027: LD_ADDR_LOC 5
2031: PUSH
2032: LD_INT 22
2034: PUSH
2035: LD_INT 4
2037: PUSH
2038: EMPTY
2039: LIST
2040: LIST
2041: PUSH
2042: LD_INT 30
2044: PUSH
2045: LD_INT 0
2047: PUSH
2048: EMPTY
2049: LIST
2050: LIST
2051: PUSH
2052: EMPTY
2053: LIST
2054: LIST
2055: PPUSH
2056: CALL_OW 69
2060: PUSH
2061: LD_INT 1
2063: ARRAY
2064: ST_TO_ADDR
// ComEnterUnit ( eng4 , baza4 ) ;
2065: LD_EXP 20
2069: PPUSH
2070: LD_LOC 5
2074: PPUSH
2075: CALL_OW 120
// end ;
2079: END
// every 5 5$0 trigger IsDead ( eng ) marked 07 do
2080: LD_EXP 19
2084: PPUSH
2085: CALL_OW 301
2089: IFFALSE 2206
2091: GO 2093
2093: DISABLE
// begin hc_class = 2 ;
2094: LD_ADDR_OWVAR 28
2098: PUSH
2099: LD_INT 2
2101: ST_TO_ADDR
// uc_side = 1 ;
2102: LD_ADDR_OWVAR 20
2106: PUSH
2107: LD_INT 1
2109: ST_TO_ADDR
// uc_nation = 1 ;
2110: LD_ADDR_OWVAR 21
2114: PUSH
2115: LD_INT 1
2117: ST_TO_ADDR
// hc_skills = [ 2 , Rand ( 3 , 5 ) , 2 , 1 ] ;
2118: LD_ADDR_OWVAR 31
2122: PUSH
2123: LD_INT 2
2125: PUSH
2126: LD_INT 3
2128: PPUSH
2129: LD_INT 5
2131: PPUSH
2132: CALL_OW 12
2136: PUSH
2137: LD_INT 2
2139: PUSH
2140: LD_INT 1
2142: PUSH
2143: EMPTY
2144: LIST
2145: LIST
2146: LIST
2147: LIST
2148: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
2149: LD_ADDR_OWVAR 27
2153: PUSH
2154: LD_INT 1
2156: PPUSH
2157: LD_INT 2
2159: PPUSH
2160: CALL_OW 12
2164: ST_TO_ADDR
// eng = CreateHuman ;
2165: LD_ADDR_EXP 19
2169: PUSH
2170: CALL_OW 44
2174: ST_TO_ADDR
// PlaceUnitArea ( eng , enga , false ) ;
2175: LD_EXP 19
2179: PPUSH
2180: LD_INT 9
2182: PPUSH
2183: LD_INT 0
2185: PPUSH
2186: CALL_OW 49
// ComEnterUnit ( eng , bgamma ) ;
2190: LD_EXP 19
2194: PPUSH
2195: LD_INT 1
2197: PPUSH
2198: CALL_OW 120
// enable ( 05 ) ;
2202: LD_INT 5
2204: ENABLE_MARKED
// enable ;
2205: ENABLE
// end ;
2206: END
// every 0 0$01 do
2207: GO 2209
2209: DISABLE
// begin hc_class = 1 ;
2210: LD_ADDR_OWVAR 28
2214: PUSH
2215: LD_INT 1
2217: ST_TO_ADDR
// uc_side = 4 ;
2218: LD_ADDR_OWVAR 20
2222: PUSH
2223: LD_INT 4
2225: ST_TO_ADDR
// uc_nation = 1 ;
2226: LD_ADDR_OWVAR 21
2230: PUSH
2231: LD_INT 1
2233: ST_TO_ADDR
// hc_skills = [ Rand ( 3 , 5 ) , 1 , 1 , 1 ] ;
2234: LD_ADDR_OWVAR 31
2238: PUSH
2239: LD_INT 3
2241: PPUSH
2242: LD_INT 5
2244: PPUSH
2245: CALL_OW 12
2249: PUSH
2250: LD_INT 1
2252: PUSH
2253: LD_INT 1
2255: PUSH
2256: LD_INT 1
2258: PUSH
2259: EMPTY
2260: LIST
2261: LIST
2262: LIST
2263: LIST
2264: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
2265: LD_ADDR_OWVAR 27
2269: PUSH
2270: LD_INT 1
2272: PPUSH
2273: LD_INT 2
2275: PPUSH
2276: CALL_OW 12
2280: ST_TO_ADDR
// jankes4 = CreateHuman ;
2281: LD_ADDR_EXP 15
2285: PUSH
2286: CALL_OW 44
2290: ST_TO_ADDR
// PlaceUnitArea ( jankes4 , baza , false ) ;
2291: LD_EXP 15
2295: PPUSH
2296: LD_INT 2
2298: PPUSH
2299: LD_INT 0
2301: PPUSH
2302: CALL_OW 49
// baza4 := FilterAllUnits ( [ [ f_side , 4 ] , [ f_btype , b_depot ] ] ) [ 1 ] ;
2306: LD_ADDR_LOC 5
2310: PUSH
2311: LD_INT 22
2313: PUSH
2314: LD_INT 4
2316: PUSH
2317: EMPTY
2318: LIST
2319: LIST
2320: PUSH
2321: LD_INT 30
2323: PUSH
2324: LD_INT 0
2326: PUSH
2327: EMPTY
2328: LIST
2329: LIST
2330: PUSH
2331: EMPTY
2332: LIST
2333: LIST
2334: PPUSH
2335: CALL_OW 69
2339: PUSH
2340: LD_INT 1
2342: ARRAY
2343: ST_TO_ADDR
// ComEnterUnit ( jankes4 , baza4 ) ;
2344: LD_EXP 15
2348: PPUSH
2349: LD_LOC 5
2353: PPUSH
2354: CALL_OW 120
// end ;
2358: END
// every 0 0$01 do
2359: GO 2361
2361: DISABLE
// begin for i = 1 to 3 do
2362: LD_ADDR_LOC 3
2366: PUSH
2367: DOUBLE
2368: LD_INT 1
2370: DEC
2371: ST_TO_ADDR
2372: LD_INT 3
2374: PUSH
2375: FOR_TO
2376: IFFALSE 2541
// begin hc_class = 1 ;
2378: LD_ADDR_OWVAR 28
2382: PUSH
2383: LD_INT 1
2385: ST_TO_ADDR
// uc_side = 4 ;
2386: LD_ADDR_OWVAR 20
2390: PUSH
2391: LD_INT 4
2393: ST_TO_ADDR
// uc_nation = 1 ;
2394: LD_ADDR_OWVAR 21
2398: PUSH
2399: LD_INT 1
2401: ST_TO_ADDR
// hc_skills = [ Rand ( 5 , 6 ) , 1 , 1 , 1 ] ;
2402: LD_ADDR_OWVAR 31
2406: PUSH
2407: LD_INT 5
2409: PPUSH
2410: LD_INT 6
2412: PPUSH
2413: CALL_OW 12
2417: PUSH
2418: LD_INT 1
2420: PUSH
2421: LD_INT 1
2423: PUSH
2424: LD_INT 1
2426: PUSH
2427: EMPTY
2428: LIST
2429: LIST
2430: LIST
2431: LIST
2432: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
2433: LD_ADDR_OWVAR 27
2437: PUSH
2438: LD_INT 1
2440: PPUSH
2441: LD_INT 2
2443: PPUSH
2444: CALL_OW 12
2448: ST_TO_ADDR
// jankes = CreateHuman ;
2449: LD_ADDR_EXP 14
2453: PUSH
2454: CALL_OW 44
2458: ST_TO_ADDR
// PlaceUnitArea ( jankes , jan4 , false ) ;
2459: LD_EXP 14
2463: PPUSH
2464: LD_INT 5
2466: PPUSH
2467: LD_INT 0
2469: PPUSH
2470: CALL_OW 49
// ComAgressiveMove ( jankes , 96 , 90 ) ;
2474: LD_EXP 14
2478: PPUSH
2479: LD_INT 96
2481: PPUSH
2482: LD_INT 90
2484: PPUSH
2485: CALL_OW 114
// rulab := FilterAllUnits ( [ [ f_side , 3 ] , [ f_type , unit_building ] ] ) [ 1 ] ;
2489: LD_ADDR_EXP 21
2493: PUSH
2494: LD_INT 22
2496: PUSH
2497: LD_INT 3
2499: PUSH
2500: EMPTY
2501: LIST
2502: LIST
2503: PUSH
2504: LD_INT 21
2506: PUSH
2507: LD_INT 3
2509: PUSH
2510: EMPTY
2511: LIST
2512: LIST
2513: PUSH
2514: EMPTY
2515: LIST
2516: LIST
2517: PPUSH
2518: CALL_OW 69
2522: PUSH
2523: LD_INT 1
2525: ARRAY
2526: ST_TO_ADDR
// PriorityAttack ( 4 , rulab ) ;
2527: LD_INT 4
2529: PPUSH
2530: LD_EXP 21
2534: PPUSH
2535: CALL_OW 470
// end ;
2539: GO 2375
2541: POP
2542: POP
// wait ( 1 1$30 ) ;
2543: LD_INT 3150
2545: PPUSH
2546: CALL_OW 67
// enable ( 01 ) ;
2550: LD_INT 1
2552: ENABLE_MARKED
// end ;
2553: END
// every 0 0$01 do
2554: GO 2556
2556: DISABLE
// begin wait ( 15 15$0 ) ;
2557: LD_INT 31500
2559: PPUSH
2560: CALL_OW 67
// AddComResearch ( lab , tech_Tech1 ) ;
2564: LD_INT 4
2566: PPUSH
2567: LD_INT 48
2569: PPUSH
2570: CALL_OW 184
// wait ( 5 5$0 ) ;
2574: LD_INT 10500
2576: PPUSH
2577: CALL_OW 67
// AddComResearch ( lab , tech_Weap1 ) ;
2581: LD_INT 4
2583: PPUSH
2584: LD_INT 51
2586: PPUSH
2587: CALL_OW 184
// wait ( 10 10$0 ) ;
2591: LD_INT 21000
2593: PPUSH
2594: CALL_OW 67
// AddComResearch ( lab , tech_Tech2 ) ;
2598: LD_INT 4
2600: PPUSH
2601: LD_INT 49
2603: PPUSH
2604: CALL_OW 184
// wait ( 5 5$0 ) ;
2608: LD_INT 10500
2610: PPUSH
2611: CALL_OW 67
// AddComResearch ( lab , tech_Weap2 ) ;
2615: LD_INT 4
2617: PPUSH
2618: LD_INT 52
2620: PPUSH
2621: CALL_OW 184
// end ; end_of_file
2625: END
// export faba , ranni , chuj ; var i , j , un2 , auta ; every 0 0$01 marked 05 do var j , bud ;
2626: GO 2628
2628: DISABLE
2629: LD_INT 0
2631: PPUSH
2632: PPUSH
// begin enable ;
2633: ENABLE
// bud := FilterAllUnits ( [ [ [ f_type , unit_building ] , [ f_side , 1 ] , [ f_not , [ f_lives , 1000 ] ] ] ] ) ;
2634: LD_ADDR_VAR 0 2
2638: PUSH
2639: LD_INT 21
2641: PUSH
2642: LD_INT 3
2644: PUSH
2645: EMPTY
2646: LIST
2647: LIST
2648: PUSH
2649: LD_INT 22
2651: PUSH
2652: LD_INT 1
2654: PUSH
2655: EMPTY
2656: LIST
2657: LIST
2658: PUSH
2659: LD_INT 3
2661: PUSH
2662: LD_INT 24
2664: PUSH
2665: LD_INT 1000
2667: PUSH
2668: EMPTY
2669: LIST
2670: LIST
2671: PUSH
2672: EMPTY
2673: LIST
2674: LIST
2675: PUSH
2676: EMPTY
2677: LIST
2678: LIST
2679: LIST
2680: PUSH
2681: EMPTY
2682: LIST
2683: PPUSH
2684: CALL_OW 69
2688: ST_TO_ADDR
// for j = 1 to bud do
2689: LD_ADDR_VAR 0 1
2693: PUSH
2694: DOUBLE
2695: LD_INT 1
2697: DEC
2698: ST_TO_ADDR
2699: LD_VAR 0 2
2703: PUSH
2704: FOR_TO
2705: IFFALSE 2771
// if ( GetLives ( bud [ j ] ) < 1000 ) then
2707: LD_VAR 0 2
2711: PUSH
2712: LD_VAR 0 1
2716: ARRAY
2717: PPUSH
2718: CALL_OW 256
2722: PUSH
2723: LD_INT 1000
2725: LESS
2726: IFFALSE 2769
// begin ComExitBuilding ( eng ) ;
2728: LD_EXP 19
2732: PPUSH
2733: CALL_OW 122
// AddComRepairBuilding ( eng , bud [ j ] ) ;
2737: LD_EXP 19
2741: PPUSH
2742: LD_VAR 0 2
2746: PUSH
2747: LD_VAR 0 1
2751: ARRAY
2752: PPUSH
2753: CALL_OW 190
// AddComEnterUnit ( eng , bgamma ) ;
2757: LD_EXP 19
2761: PPUSH
2762: LD_INT 1
2764: PPUSH
2765: CALL_OW 180
// end ;
2769: GO 2704
2771: POP
2772: POP
// end ;
2773: PPOPN 2
2775: END
// on Contact ( side1 , side2 ) marked 01 do begin if side1 = 3 and side2 = 4 then
2776: LD_VAR 0 1
2780: PUSH
2781: LD_INT 3
2783: EQUAL
2784: PUSH
2785: LD_VAR 0 2
2789: PUSH
2790: LD_INT 4
2792: EQUAL
2793: AND
2794: IFFALSE 2924
// begin ComMoveXY ( jankes4 , 49 , 10 ) ;
2796: LD_EXP 15
2800: PPUSH
2801: LD_INT 49
2803: PPUSH
2804: LD_INT 10
2806: PPUSH
2807: CALL_OW 111
// ComExitBuilding ( eng4 ) ;
2811: LD_EXP 20
2815: PPUSH
2816: CALL_OW 122
// faba := FilterAllUnits ( [ [ f_side , 4 ] , [ f_btype , b_factory ] ] ) [ 1 ] ;
2820: LD_ADDR_EXP 24
2824: PUSH
2825: LD_INT 22
2827: PUSH
2828: LD_INT 4
2830: PUSH
2831: EMPTY
2832: LIST
2833: LIST
2834: PUSH
2835: LD_INT 30
2837: PUSH
2838: LD_INT 3
2840: PUSH
2841: EMPTY
2842: LIST
2843: LIST
2844: PUSH
2845: EMPTY
2846: LIST
2847: LIST
2848: PPUSH
2849: CALL_OW 69
2853: PUSH
2854: LD_INT 1
2856: ARRAY
2857: ST_TO_ADDR
// AddComDismantle ( eng4 , faba ) ;
2858: LD_EXP 20
2862: PPUSH
2863: LD_EXP 24
2867: PPUSH
2868: CALL_OW 227
// AddComMoveXY ( eng4 , 44 , 16 ) ;
2872: LD_EXP 20
2876: PPUSH
2877: LD_INT 44
2879: PPUSH
2880: LD_INT 16
2882: PPUSH
2883: CALL_OW 171
// Say ( pak , p7 ) ;
2887: LD_EXP 1
2891: PPUSH
2892: LD_STRING p7
2894: PPUSH
2895: CALL_OW 88
// ChangeMissionObjectives ( CelS1w ) ;
2899: LD_STRING CelS1w
2901: PPUSH
2902: CALL_OW 337
// wait ( 15 15$0 ) ;
2906: LD_INT 31500
2908: PPUSH
2909: CALL_OW 67
// disable ( 03 ) ;
2913: LD_INT 3
2915: DISABLE_MARKED
// enable ( 04 ) ;
2916: LD_INT 4
2918: ENABLE_MARKED
// enable ( 09 ) ;
2919: LD_INT 9
2921: ENABLE_MARKED
// end else
2922: GO 2973
// if side1 = 1 and side2 = 3 then
2924: LD_VAR 0 1
2928: PUSH
2929: LD_INT 1
2931: EQUAL
2932: PUSH
2933: LD_VAR 0 2
2937: PUSH
2938: LD_INT 3
2940: EQUAL
2941: AND
2942: IFFALSE 2973
// begin disable ;
2944: DISABLE
// disable ( 03 ) ;
2945: LD_INT 3
2947: DISABLE_MARKED
// enable ( 04 ) ;
2948: LD_INT 4
2950: ENABLE_MARKED
// enable ( 09 ) ;
2951: LD_INT 9
2953: ENABLE_MARKED
// Say ( pak , p6 ) ;
2954: LD_EXP 1
2958: PPUSH
2959: LD_STRING p6
2961: PPUSH
2962: CALL_OW 88
// ChangeMissionObjectives ( CelM2 ) ;
2966: LD_STRING CelM2
2968: PPUSH
2969: CALL_OW 337
// end ; end ;
2973: PPOPN 2
2975: END
// on UnitGoesToRed ( un ) do begin if GetSide ( un ) = 1 then
2976: LD_VAR 0 1
2980: PPUSH
2981: CALL_OW 255
2985: PUSH
2986: LD_INT 1
2988: EQUAL
2989: IFFALSE 3170
// begin if GetControl ( un ) = control_remote then
2991: LD_VAR 0 1
2995: PPUSH
2996: CALL_OW 263
3000: PUSH
3001: LD_INT 2
3003: EQUAL
3004: IFFALSE 3017
// begin ComUnlink ( un ) ;
3006: LD_VAR 0 1
3010: PPUSH
3011: CALL_OW 136
// end else
3015: GO 3170
// if GetClass ( un ) = 2 then
3017: LD_VAR 0 1
3021: PPUSH
3022: CALL_OW 257
3026: PUSH
3027: LD_INT 2
3029: EQUAL
3030: IFFALSE 3037
// begin disable ( 05 ) ;
3032: LD_INT 5
3034: DISABLE_MARKED
// end else
3035: GO 3170
// if GetBtype ( un ) = b_bunker then
3037: LD_VAR 0 1
3041: PPUSH
3042: CALL_OW 266
3046: PUSH
3047: LD_INT 32
3049: EQUAL
3050: IFFALSE 3120
// begin wait ( 0 0$01 ) ;
3052: LD_INT 35
3054: PPUSH
3055: CALL_OW 67
// un2 := FilterAllUnits ( [ [ f_side , 1 ] , [ f_outside ] , [ f_class , class_soldier ] ] ) ;
3059: LD_ADDR_LOC 8
3063: PUSH
3064: LD_INT 22
3066: PUSH
3067: LD_INT 1
3069: PUSH
3070: EMPTY
3071: LIST
3072: LIST
3073: PUSH
3074: LD_INT 56
3076: PUSH
3077: EMPTY
3078: LIST
3079: PUSH
3080: LD_INT 25
3082: PUSH
3083: LD_INT 1
3085: PUSH
3086: EMPTY
3087: LIST
3088: LIST
3089: PUSH
3090: EMPTY
3091: LIST
3092: LIST
3093: LIST
3094: PPUSH
3095: CALL_OW 69
3099: ST_TO_ADDR
// ComEnterUnit ( un2 , zbroja [ 1 ] ) ;
3100: LD_LOC 8
3104: PPUSH
3105: LD_EXP 22
3109: PUSH
3110: LD_INT 1
3112: ARRAY
3113: PPUSH
3114: CALL_OW 120
// end else
3118: GO 3170
// if GetBType ( un ) = b_depot then
3120: LD_VAR 0 1
3124: PPUSH
3125: CALL_OW 266
3129: PUSH
3130: LD_INT 0
3132: EQUAL
3133: IFFALSE 3149
// begin disable ( 04 ) ;
3135: LD_INT 4
3137: DISABLE_MARKED
// disable ( 06 ) ;
3138: LD_INT 6
3140: DISABLE_MARKED
// disable ( 07 ) ;
3141: LD_INT 7
3143: DISABLE_MARKED
// enable ( 08 ) ;
3144: LD_INT 8
3146: ENABLE_MARKED
// end else
3147: GO 3170
// if GetBType ( un ) = b_control_tower then
3149: LD_VAR 0 1
3153: PPUSH
3154: CALL_OW 266
3158: PUSH
3159: LD_INT 36
3161: EQUAL
3162: IFFALSE 3170
// begin disable ( 04 ) ;
3164: LD_INT 4
3166: DISABLE_MARKED
// disable ( 06 ) ;
3167: LD_INT 6
3169: DISABLE_MARKED
// end ; end ; end ;
3170: PPOPN 1
3172: END
// every 45 45$0 do
3173: GO 3175
3175: DISABLE
// begin czas = true ;
3176: LD_ADDR_EXP 10
3180: PUSH
3181: LD_INT 1
3183: ST_TO_ADDR
// end ;
3184: END
// every 0 0$01 marked 04 do
3185: GO 3187
3187: DISABLE
// begin wait ( 5 5$0 ) ;
3188: LD_INT 10500
3190: PPUSH
3191: CALL_OW 67
// ilosc = ilosc + 2 ;
3195: LD_ADDR_EXP 12
3199: PUSH
3200: LD_EXP 12
3204: PUSH
3205: LD_INT 2
3207: PLUS
3208: ST_TO_ADDR
// enable ;
3209: ENABLE
// if ilosc = 11 then
3210: LD_EXP 12
3214: PUSH
3215: LD_INT 11
3217: EQUAL
3218: IFFALSE 3229
// begin ilosc = 10 ;
3220: LD_ADDR_EXP 12
3224: PUSH
3225: LD_INT 10
3227: ST_TO_ADDR
// disable ;
3228: DISABLE
// end ; end ;
3229: END
// every 0 0$03 trigger See ( 3 , FilterAllUnits ( [ [ f_side , 1 ] , [ f_control , 2 ] ] [ j ] ) ) do
3230: LD_INT 3
3232: PPUSH
3233: LD_INT 22
3235: PUSH
3236: LD_INT 1
3238: PUSH
3239: EMPTY
3240: LIST
3241: LIST
3242: PUSH
3243: LD_INT 33
3245: PUSH
3246: LD_INT 2
3248: PUSH
3249: EMPTY
3250: LIST
3251: LIST
3252: PUSH
3253: EMPTY
3254: LIST
3255: LIST
3256: PUSH
3257: LD_LOC 7
3261: ARRAY
3262: PPUSH
3263: CALL_OW 69
3267: PPUSH
3268: CALL_OW 292
3272: IFFALSE 3296
3274: GO 3276
3276: DISABLE
// begin wait ( 0 0$03 ) ;
3277: LD_INT 105
3279: PPUSH
3280: CALL_OW 67
// Say ( pak , remote ) ;
3284: LD_EXP 1
3288: PPUSH
3289: LD_STRING remote
3291: PPUSH
3292: CALL_OW 88
// end ;
3296: END
// every 0 0$02 do
3297: GO 3299
3299: DISABLE
// begin enable ;
3300: ENABLE
// auta := FilterAllUnits ( [ [ f_side , 1 ] , [ f_control , 2 ] ] ) ;
3301: LD_ADDR_LOC 9
3305: PUSH
3306: LD_INT 22
3308: PUSH
3309: LD_INT 1
3311: PUSH
3312: EMPTY
3313: LIST
3314: LIST
3315: PUSH
3316: LD_INT 33
3318: PUSH
3319: LD_INT 2
3321: PUSH
3322: EMPTY
3323: LIST
3324: LIST
3325: PUSH
3326: EMPTY
3327: LIST
3328: LIST
3329: PPUSH
3330: CALL_OW 69
3334: ST_TO_ADDR
// for j = 1 to auta do
3335: LD_ADDR_LOC 7
3339: PUSH
3340: DOUBLE
3341: LD_INT 1
3343: DEC
3344: ST_TO_ADDR
3345: LD_LOC 9
3349: PUSH
3350: FOR_TO
3351: IFFALSE 3434
// begin if IsControledBy ( auta [ j ] ) = 0 and GetLives ( auta [ j ] ) > 250 then
3353: LD_LOC 9
3357: PUSH
3358: LD_LOC 7
3362: ARRAY
3363: PPUSH
3364: CALL_OW 312
3368: PUSH
3369: LD_INT 0
3371: EQUAL
3372: PUSH
3373: LD_LOC 9
3377: PUSH
3378: LD_LOC 7
3382: ARRAY
3383: PPUSH
3384: CALL_OW 256
3388: PUSH
3389: LD_INT 250
3391: GREATER
3392: AND
3393: IFFALSE 3432
// begin ComLinkTo ( auta [ j ] , UnitsInside ( tower ) [ Rand ( 1 , 3 ) ] ) ;
3395: LD_LOC 9
3399: PUSH
3400: LD_LOC 7
3404: ARRAY
3405: PPUSH
3406: LD_EXP 23
3410: PPUSH
3411: CALL_OW 313
3415: PUSH
3416: LD_INT 1
3418: PPUSH
3419: LD_INT 3
3421: PPUSH
3422: CALL_OW 12
3426: ARRAY
3427: PPUSH
3428: CALL_OW 135
// end ; end ;
3432: GO 3350
3434: POP
3435: POP
// end ;
3436: END
// every 0 0$03 trigger tab marked 09 do var i , un ;
3437: LD_EXP 13
3441: IFFALSE 3519
3443: GO 3445
3445: DISABLE
3446: LD_INT 0
3448: PPUSH
3449: PPUSH
// begin enable ;
3450: ENABLE
// for i = 1 to tab do
3451: LD_ADDR_VAR 0 1
3455: PUSH
3456: DOUBLE
3457: LD_INT 1
3459: DEC
3460: ST_TO_ADDR
3461: LD_EXP 13
3465: PUSH
3466: FOR_TO
3467: IFFALSE 3517
// ComAttackUnit ( tab [ i ] , NearestUnitToUnit ( FilterAllUnits ( [ f_side , 3 ] ) , tab [ i ] ) ) ;
3469: LD_EXP 13
3473: PUSH
3474: LD_VAR 0 1
3478: ARRAY
3479: PPUSH
3480: LD_INT 22
3482: PUSH
3483: LD_INT 3
3485: PUSH
3486: EMPTY
3487: LIST
3488: LIST
3489: PPUSH
3490: CALL_OW 69
3494: PPUSH
3495: LD_EXP 13
3499: PUSH
3500: LD_VAR 0 1
3504: ARRAY
3505: PPUSH
3506: CALL_OW 74
3510: PPUSH
3511: CALL_OW 115
3515: GO 3466
3517: POP
3518: POP
// end ;
3519: PPOPN 2
3521: END
// every 0 0$03 marked 03 do
3522: GO 3524
3524: DISABLE
// begin enable ;
3525: ENABLE
// patrol ;
3526: CALL 588 0 0
// end ; end_of_file
3530: END
// export rusol , rueng , rumech , rudok , despat , sklad ; var i ; every 0 0$0.1 do
3531: GO 3533
3533: DISABLE
// begin for i = 1 to 3 do
3534: LD_ADDR_LOC 10
3538: PUSH
3539: DOUBLE
3540: LD_INT 1
3542: DEC
3543: ST_TO_ADDR
3544: LD_INT 3
3546: PUSH
3547: FOR_TO
3548: IFFALSE 3664
// begin uc_side = 3 ;
3550: LD_ADDR_OWVAR 20
3554: PUSH
3555: LD_INT 3
3557: ST_TO_ADDR
// uc_nation = 3 ;
3558: LD_ADDR_OWVAR 21
3562: PUSH
3563: LD_INT 3
3565: ST_TO_ADDR
// hc_class = 1 ;
3566: LD_ADDR_OWVAR 28
3570: PUSH
3571: LD_INT 1
3573: ST_TO_ADDR
// hc_skills = [ Rand ( 2 , 4 ) , Rand ( 0 , 2 ) , Rand ( 0 , 3 ) , 0 ] ;
3574: LD_ADDR_OWVAR 31
3578: PUSH
3579: LD_INT 2
3581: PPUSH
3582: LD_INT 4
3584: PPUSH
3585: CALL_OW 12
3589: PUSH
3590: LD_INT 0
3592: PPUSH
3593: LD_INT 2
3595: PPUSH
3596: CALL_OW 12
3600: PUSH
3601: LD_INT 0
3603: PPUSH
3604: LD_INT 3
3606: PPUSH
3607: CALL_OW 12
3611: PUSH
3612: LD_INT 0
3614: PUSH
3615: EMPTY
3616: LIST
3617: LIST
3618: LIST
3619: LIST
3620: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
3621: LD_ADDR_OWVAR 27
3625: PUSH
3626: LD_INT 1
3628: PPUSH
3629: LD_INT 2
3631: PPUSH
3632: CALL_OW 12
3636: ST_TO_ADDR
// rusol = CreateHuman ;
3637: LD_ADDR_EXP 27
3641: PUSH
3642: CALL_OW 44
3646: ST_TO_ADDR
// PlaceUnitArea ( rusol , rus , false ) ;
3647: LD_EXP 27
3651: PPUSH
3652: LD_INT 4
3654: PPUSH
3655: LD_INT 0
3657: PPUSH
3658: CALL_OW 49
// end ;
3662: GO 3547
3664: POP
3665: POP
// end ;
3666: END
// every 0 0$0.1 do
3667: GO 3669
3669: DISABLE
// begin for i = 1 to 1 do
3670: LD_ADDR_LOC 10
3674: PUSH
3675: DOUBLE
3676: LD_INT 1
3678: DEC
3679: ST_TO_ADDR
3680: LD_INT 1
3682: PUSH
3683: FOR_TO
3684: IFFALSE 3808
// begin hc_class = 2 ;
3686: LD_ADDR_OWVAR 28
3690: PUSH
3691: LD_INT 2
3693: ST_TO_ADDR
// uc_side = 3 ;
3694: LD_ADDR_OWVAR 20
3698: PUSH
3699: LD_INT 3
3701: ST_TO_ADDR
// uc_nation = 3 ;
3702: LD_ADDR_OWVAR 21
3706: PUSH
3707: LD_INT 3
3709: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 2 ) , Rand ( 3 , 5 ) , Rand ( 0 , 3 ) , Rand ( 0 , 1 ) ] ;
3710: LD_ADDR_OWVAR 31
3714: PUSH
3715: LD_INT 0
3717: PPUSH
3718: LD_INT 2
3720: PPUSH
3721: CALL_OW 12
3725: PUSH
3726: LD_INT 3
3728: PPUSH
3729: LD_INT 5
3731: PPUSH
3732: CALL_OW 12
3736: PUSH
3737: LD_INT 0
3739: PPUSH
3740: LD_INT 3
3742: PPUSH
3743: CALL_OW 12
3747: PUSH
3748: LD_INT 0
3750: PPUSH
3751: LD_INT 1
3753: PPUSH
3754: CALL_OW 12
3758: PUSH
3759: EMPTY
3760: LIST
3761: LIST
3762: LIST
3763: LIST
3764: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
3765: LD_ADDR_OWVAR 27
3769: PUSH
3770: LD_INT 1
3772: PPUSH
3773: LD_INT 2
3775: PPUSH
3776: CALL_OW 12
3780: ST_TO_ADDR
// rueng = CreateHuman ;
3781: LD_ADDR_EXP 28
3785: PUSH
3786: CALL_OW 44
3790: ST_TO_ADDR
// PlaceUnitArea ( rueng , rus , false ) ;
3791: LD_EXP 28
3795: PPUSH
3796: LD_INT 4
3798: PPUSH
3799: LD_INT 0
3801: PPUSH
3802: CALL_OW 49
// end ;
3806: GO 3683
3808: POP
3809: POP
// end ;
3810: END
// every 0 0$0.1 do
3811: GO 3813
3813: DISABLE
// begin for i = 1 to 4 do
3814: LD_ADDR_LOC 10
3818: PUSH
3819: DOUBLE
3820: LD_INT 1
3822: DEC
3823: ST_TO_ADDR
3824: LD_INT 4
3826: PUSH
3827: FOR_TO
3828: IFFALSE 3952
// begin hc_class = 3 ;
3830: LD_ADDR_OWVAR 28
3834: PUSH
3835: LD_INT 3
3837: ST_TO_ADDR
// uc_side = 3 ;
3838: LD_ADDR_OWVAR 20
3842: PUSH
3843: LD_INT 3
3845: ST_TO_ADDR
// uc_nation = 3 ;
3846: LD_ADDR_OWVAR 21
3850: PUSH
3851: LD_INT 3
3853: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 2 ) , Rand ( 1 , 2 ) , Rand ( 3 , 5 ) , Rand ( 0 , 1 ) ] ;
3854: LD_ADDR_OWVAR 31
3858: PUSH
3859: LD_INT 0
3861: PPUSH
3862: LD_INT 2
3864: PPUSH
3865: CALL_OW 12
3869: PUSH
3870: LD_INT 1
3872: PPUSH
3873: LD_INT 2
3875: PPUSH
3876: CALL_OW 12
3880: PUSH
3881: LD_INT 3
3883: PPUSH
3884: LD_INT 5
3886: PPUSH
3887: CALL_OW 12
3891: PUSH
3892: LD_INT 0
3894: PPUSH
3895: LD_INT 1
3897: PPUSH
3898: CALL_OW 12
3902: PUSH
3903: EMPTY
3904: LIST
3905: LIST
3906: LIST
3907: LIST
3908: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
3909: LD_ADDR_OWVAR 27
3913: PUSH
3914: LD_INT 1
3916: PPUSH
3917: LD_INT 2
3919: PPUSH
3920: CALL_OW 12
3924: ST_TO_ADDR
// rumech = CreateHuman ;
3925: LD_ADDR_EXP 29
3929: PUSH
3930: CALL_OW 44
3934: ST_TO_ADDR
// PlaceUnitArea ( rumech , rus , false ) ;
3935: LD_EXP 29
3939: PPUSH
3940: LD_INT 4
3942: PPUSH
3943: LD_INT 0
3945: PPUSH
3946: CALL_OW 49
// end ;
3950: GO 3827
3952: POP
3953: POP
// end ;
3954: END
// every 0 0$0.1 do
3955: GO 3957
3957: DISABLE
// begin hc_class = 4 ;
3958: LD_ADDR_OWVAR 28
3962: PUSH
3963: LD_INT 4
3965: ST_TO_ADDR
// uc_side = 3 ;
3966: LD_ADDR_OWVAR 20
3970: PUSH
3971: LD_INT 3
3973: ST_TO_ADDR
// uc_nation = 3 ;
3974: LD_ADDR_OWVAR 21
3978: PUSH
3979: LD_INT 3
3981: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 1 ) , Rand ( 1 , 2 ) , Rand ( 1 , 2 ) , Rand ( 3 , 5 ) ] ;
3982: LD_ADDR_OWVAR 31
3986: PUSH
3987: LD_INT 0
3989: PPUSH
3990: LD_INT 1
3992: PPUSH
3993: CALL_OW 12
3997: PUSH
3998: LD_INT 1
4000: PPUSH
4001: LD_INT 2
4003: PPUSH
4004: CALL_OW 12
4008: PUSH
4009: LD_INT 1
4011: PPUSH
4012: LD_INT 2
4014: PPUSH
4015: CALL_OW 12
4019: PUSH
4020: LD_INT 3
4022: PPUSH
4023: LD_INT 5
4025: PPUSH
4026: CALL_OW 12
4030: PUSH
4031: EMPTY
4032: LIST
4033: LIST
4034: LIST
4035: LIST
4036: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
4037: LD_ADDR_OWVAR 27
4041: PUSH
4042: LD_INT 1
4044: PPUSH
4045: LD_INT 2
4047: PPUSH
4048: CALL_OW 12
4052: ST_TO_ADDR
// rudok = CreateHuman ;
4053: LD_ADDR_EXP 30
4057: PUSH
4058: CALL_OW 44
4062: ST_TO_ADDR
// PlaceUnitArea ( rudok , rus , false ) ;
4063: LD_EXP 30
4067: PPUSH
4068: LD_INT 4
4070: PPUSH
4071: LD_INT 0
4073: PPUSH
4074: CALL_OW 49
// end ;
4078: END
// every 0 0$01 trigger FilterAllUnits ( [ [ f_side , 3 ] , [ f_btype , b_lab_half ] ] ) = 0 do
4079: LD_INT 22
4081: PUSH
4082: LD_INT 3
4084: PUSH
4085: EMPTY
4086: LIST
4087: LIST
4088: PUSH
4089: LD_INT 30
4091: PUSH
4092: LD_INT 7
4094: PUSH
4095: EMPTY
4096: LIST
4097: LIST
4098: PUSH
4099: EMPTY
4100: LIST
4101: LIST
4102: PPUSH
4103: CALL_OW 69
4107: PUSH
4108: LD_INT 0
4110: EQUAL
4111: IFFALSE 4137
4113: GO 4115
4115: DISABLE
// begin SetTech ( tech_gatling , 3 , state_disabled ) ;
4116: LD_INT 69
4118: PPUSH
4119: LD_INT 3
4121: PPUSH
4122: LD_INT 0
4124: PPUSH
4125: CALL_OW 322
// gatjest = false ;
4129: LD_ADDR_EXP 9
4133: PUSH
4134: LD_INT 0
4136: ST_TO_ADDR
// end ;
4137: END
// every 0 0$01 trigger FilterAllUnits ( [ [ f_side , 3 ] , [ f_btype , b_factory ] ] ) = 1 do
4138: LD_INT 22
4140: PUSH
4141: LD_INT 3
4143: PUSH
4144: EMPTY
4145: LIST
4146: LIST
4147: PUSH
4148: LD_INT 30
4150: PUSH
4151: LD_INT 3
4153: PUSH
4154: EMPTY
4155: LIST
4156: LIST
4157: PUSH
4158: EMPTY
4159: LIST
4160: LIST
4161: PPUSH
4162: CALL_OW 69
4166: PUSH
4167: LD_INT 1
4169: EQUAL
4170: IFFALSE 4208
4172: GO 4174
4174: DISABLE
// begin SetRestrict ( b_factory , 3 , state_enabled ) ;
4175: LD_INT 3
4177: PPUSH
4178: LD_INT 3
4180: PPUSH
4181: LD_INT 1
4183: PPUSH
4184: CALL_OW 324
// fabjest = true ;
4188: LD_ADDR_EXP 8
4192: PUSH
4193: LD_INT 1
4195: ST_TO_ADDR
// Say ( pak , p8 ) ;
4196: LD_EXP 1
4200: PPUSH
4201: LD_STRING p8
4203: PPUSH
4204: CALL_OW 88
// end ;
4208: END
// every 5 5$0 marked 06 do
4209: GO 4211
4211: DISABLE
// begin enable ;
4212: ENABLE
// budpatrolu ;
4213: CALL 334 0 0
// end ;
4217: END
// every 5 5$0 marked 04 do
4218: GO 4220
4220: DISABLE
// begin enable ;
4221: ENABLE
// budposilkow ;
4222: CALL 460 0 0
// end ;
4226: END
// every 0 0$01 trigger IsInArea ( jankes4 , gammaa ) do
4227: LD_EXP 15
4231: PPUSH
4232: LD_INT 3
4234: PPUSH
4235: CALL_OW 308
4239: IFFALSE 4253
4241: GO 4243
4243: DISABLE
// begin disable ( 03 ) ;
4244: LD_INT 3
4246: DISABLE_MARKED
// enable ( 04 ) ;
4247: LD_INT 4
4249: ENABLE_MARKED
// enable ( 09 ) ;
4250: LD_INT 9
4252: ENABLE_MARKED
// end ;
4253: END
// every 0 0$01 trigger FilterUnitsInArea ( patrola , [ f_side , 1 ] ) >= 1 do
4254: LD_INT 6
4256: PPUSH
4257: LD_INT 22
4259: PUSH
4260: LD_INT 1
4262: PUSH
4263: EMPTY
4264: LIST
4265: LIST
4266: PPUSH
4267: CALL_OW 70
4271: PUSH
4272: LD_INT 1
4274: GREATEREQUAL
4275: IFFALSE 4317
4277: GO 4279
4279: DISABLE
// begin enable ;
4280: ENABLE
// despat := FilterUnitsInArea ( patrola , [ f_side , 1 ] ) [ 1 ] ;
4281: LD_ADDR_EXP 31
4285: PUSH
4286: LD_INT 6
4288: PPUSH
4289: LD_INT 22
4291: PUSH
4292: LD_INT 1
4294: PUSH
4295: EMPTY
4296: LIST
4297: LIST
4298: PPUSH
4299: CALL_OW 70
4303: PUSH
4304: LD_INT 1
4306: ARRAY
4307: ST_TO_ADDR
// destroyunit ( despat ) ;
4308: LD_EXP 31
4312: PPUSH
4313: CALL_OW 65
// end ; end_of_file
4317: END
// every 0 0$01 trigger IsDead ( pak ) do
4318: LD_EXP 1
4322: PPUSH
4323: CALL_OW 301
4327: IFFALSE 4339
4329: GO 4331
4331: DISABLE
// begin YouLost ( pakryszkin ) ;
4332: LD_STRING pakryszkin
4334: PPUSH
4335: CALL_OW 104
// end ;
4339: END
// every 0 0$01 + 2 2$0 trigger FilterAllUnits ( [ [ f_side , 3 ] , [ f_btype , b_depot ] ] ) = 0 do
4340: LD_INT 22
4342: PUSH
4343: LD_INT 3
4345: PUSH
4346: EMPTY
4347: LIST
4348: LIST
4349: PUSH
4350: LD_INT 30
4352: PUSH
4353: LD_INT 0
4355: PUSH
4356: EMPTY
4357: LIST
4358: LIST
4359: PUSH
4360: EMPTY
4361: LIST
4362: LIST
4363: PPUSH
4364: CALL_OW 69
4368: PUSH
4369: LD_INT 0
4371: EQUAL
4372: IFFALSE 4384
4374: GO 4376
4376: DISABLE
// begin YouLost ( baza ) ;
4377: LD_STRING baza
4379: PPUSH
4380: CALL_OW 104
// end ;
4384: END
// every 0 0$01 trigger FilterAllUnits ( [ [ f_side , 3 ] , [ f_btype , b_depot ] ] ) = 3 do
4385: LD_INT 22
4387: PUSH
4388: LD_INT 3
4390: PUSH
4391: EMPTY
4392: LIST
4393: LIST
4394: PUSH
4395: LD_INT 30
4397: PUSH
4398: LD_INT 0
4400: PUSH
4401: EMPTY
4402: LIST
4403: LIST
4404: PUSH
4405: EMPTY
4406: LIST
4407: LIST
4408: PPUSH
4409: CALL_OW 69
4413: PUSH
4414: LD_INT 3
4416: EQUAL
4417: IFFALSE 4429
4419: GO 4421
4421: DISABLE
// begin YouLost ( bazy ) ;
4422: LD_STRING bazy
4424: PPUSH
4425: CALL_OW 104
// end ;
4429: END
// every 0 0$01 trigger FilterAllUnits ( [ [ f_side , 1 ] , [ f_type , unit_building ] ] ) = 0 do
4430: LD_INT 22
4432: PUSH
4433: LD_INT 1
4435: PUSH
4436: EMPTY
4437: LIST
4438: LIST
4439: PUSH
4440: LD_INT 21
4442: PUSH
4443: LD_INT 3
4445: PUSH
4446: EMPTY
4447: LIST
4448: LIST
4449: PUSH
4450: EMPTY
4451: LIST
4452: LIST
4453: PPUSH
4454: CALL_OW 69
4458: PUSH
4459: LD_INT 0
4461: EQUAL
4462: IFFALSE 4635
4464: GO 4466
4466: DISABLE
// begin Say ( pak , p5 ) ;
4467: LD_EXP 1
4471: PPUSH
4472: LD_STRING p5
4474: PPUSH
4475: CALL_OW 88
// if gatjest = true and fabjest = true then
4479: LD_EXP 9
4483: PUSH
4484: LD_INT 1
4486: EQUAL
4487: PUSH
4488: LD_EXP 8
4492: PUSH
4493: LD_INT 1
4495: EQUAL
4496: AND
4497: IFFALSE 4511
// AddMedal ( sprzet , 1 ) else
4499: LD_STRING sprzet
4501: PPUSH
4502: LD_INT 1
4504: PPUSH
4505: CALL_OW 101
4509: GO 4522
// AddMedal ( sprzet , - 1 ) ;
4511: LD_STRING sprzet
4513: PPUSH
4514: LD_INT 1
4516: NEG
4517: PPUSH
4518: CALL_OW 101
// if FilterAllUnits ( [ [ f_side , 3 ] , [ f_type , unit_human ] ] ) = 10 then
4522: LD_INT 22
4524: PUSH
4525: LD_INT 3
4527: PUSH
4528: EMPTY
4529: LIST
4530: LIST
4531: PUSH
4532: LD_INT 21
4534: PUSH
4535: LD_INT 1
4537: PUSH
4538: EMPTY
4539: LIST
4540: LIST
4541: PUSH
4542: EMPTY
4543: LIST
4544: LIST
4545: PPUSH
4546: CALL_OW 69
4550: PUSH
4551: LD_INT 10
4553: EQUAL
4554: IFFALSE 4568
// AddMedal ( ludzie , 1 ) else
4556: LD_STRING ludzie
4558: PPUSH
4559: LD_INT 1
4561: PPUSH
4562: CALL_OW 101
4566: GO 4579
// AddMedal ( ludzie , - 1 ) ;
4568: LD_STRING ludzie
4570: PPUSH
4571: LD_INT 1
4573: NEG
4574: PPUSH
4575: CALL_OW 101
// if czas = true then
4579: LD_EXP 10
4583: PUSH
4584: LD_INT 1
4586: EQUAL
4587: IFFALSE 4602
// AddMedal ( czas , - 1 ) else
4589: LD_STRING czas
4591: PPUSH
4592: LD_INT 1
4594: NEG
4595: PPUSH
4596: CALL_OW 101
4600: GO 4612
// AddMedal ( czas , 1 ) ;
4602: LD_STRING czas
4604: PPUSH
4605: LD_INT 1
4607: PPUSH
4608: CALL_OW 101
// SaveCharacters ( pak , pak ) ;
4612: LD_EXP 1
4616: PPUSH
4617: LD_STRING pak
4619: PPUSH
4620: CALL_OW 38
// GiveMedals ( Medale ) ;
4624: LD_STRING Medale
4626: PPUSH
4627: CALL_OW 102
// YouWin ;
4631: CALL_OW 103
// end ;
4635: END
